package com.bwf.obj02;

/**
 * @Version v1.0
 * @Description: TODO
 * @Author ZHANZHONGXIN
 * @Date 2022/5/9 15:00
 * @Copyright 博为峰
 */
public class Student {
    public String name;
    public int age;

    /*
      构造方法：构建对象时调用的方法，初始化对象
      1.方法名就是类名
      2.不能有返回类型

      java中，每个类至少有一个构造方法，为了保证这一点，如果用户没有显示定义任何构造方法，
      JVM将自动提供一个隐含的默认构造方法
      如果类中显示定义了一个或多个构造方法，那么默认构造方法就没有了

      this：代表当前对象（创建对象时，哪个对象调用了this所在的构造方法，this就代表那个对象）

      构造方法和一般方法区别：
      1.构造方法：对象创建时，被调用一次，初始化对象
      2.一般方法：对象创建后，可被调用多次，提供功能
     */
    public Student() {
        System.out.println("abc");
    }

    public Student(String name) {
        this();
        this.name = name;
        System.out.println("123");
    }

    public Student(String name, int age) {
        //必须在第一行
        this(name);
        this.name = name;
        this.age = age;
    }


    public void study() {
        System.out.println(this.name + "学习");
    }
}
